#ifndef _H_BOARDEFFECT
#define _H_BOARDEFFECT

#include <string>
#include "baseEffect.h"

class baseEffect;

class boardEffect : public baseEffect
{
   private:
       static const effectType type = board;

    public:
        typedef enum moves { right, left, up, down};
        bool allowRow;
        bool allowCol;

        // Constructor
        boardEffect(std::string aName, std::string aDescription, bool aAllowRow, bool aAllowCol);

        // Accessor
        bool isRowAllowed();
        bool isColAllowed();

        std::string toString();

        virtual effectType getType();
        virtual void doEffect(void* moveInfo);

    private:
        boardEffect::moves mv;
        
};

#endif //_H_BOARDEFFECT